Skip to content

Conversation

@crabtw
Copy link
Contributor

@crabtw crabtw commented Jan 30, 2013

It currently lacks support of segmented stacks and the runtime support is buggy. For a simple hello world program, it prints string and then segfaults. I am still trying to fix the problem.

The MIPS O32 ABI implementation is translated from clang's.
https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp

@brson
Copy link
Contributor

brson commented Jan 30, 2013

Wow. Very interesting
On Jan 30, 2013 8:26 AM, "Jyun-Yan You" notifications@github.com wrote:

It currently lacks support of segmented stacks and the runtime support is
buggy. For a simple hello world program, it prints string and then
segfaults. I am still trying to fix the problem.

The MIPS O32 ABI implementation is translated from clang's.

https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp

You can merge this Pull Request by running

git pull https://github.com/crabtw/rust mips

Or view, comment on, or merge it at:

#4692
Commit Summary

  • rt: MIPS32 support
  • rustc: MIPS32 support
  • rustc: implement MIPS O32 ABI
  • rt: fix some bugs for MIPS target
  • rustc: add missing pub for back::mips::get_target_strs

File Changes

  • M Makefile.in (2)
  • M configure (7)
  • A mk/libuv/mips/unix/linux/Makefile (354)
  • A mk/libuv/mips/unix/linux/src/libuv/run-benchmarks.target.mk (122)
  • A mk/libuv/mips/unix/linux/src/libuv/run-tests.target.mk (165)
  • A mk/libuv/mips/unix/linux/src/libuv/uv.Makefile (6)
  • A mk/libuv/mips/unix/linux/src/libuv/uv.target.mk (191)
  • M mk/rt.mk (6)
  • M src/libcore/cleanup.rs (7)
  • M src/libcore/libc.rs (1)
  • M src/libcore/os.rs (6)
  • M src/libcore/path.rs (1)
  • M src/libcore/sys.rs (2)
  • M src/libcore/uint-template/uint.rs (1)
  • A src/librustc/back/mips.rs (85)
  • M src/librustc/driver/driver.rs (13)
  • M src/librustc/driver/session.rs (2)
  • M src/librustc/middle/trans/base.rs (8)
  • A src/librustc/middle/trans/cabi_mips.rs (220)
  • M src/librustc/middle/trans/common.rs (6)
  • M src/librustc/middle/trans/foreign.rs (5)
  • M src/librustc/rustc.rc (3)
  • M src/libstd/bigint.rs (6)
  • M src/libstd/net_tcp.rs (1)
  • M src/libstd/uv_ll.rs (14)
  • A src/rt/arch/mips/_context.S (82)
  • A src/rt/arch/mips/ccall.S (29)
  • A src/rt/arch/mips/context.cpp (46)
  • A src/rt/arch/mips/context.h (51)
  • A src/rt/arch/mips/gpr.cpp (31)
  • A src/rt/arch/mips/gpr.h (33)
  • A src/rt/arch/mips/record_sp.S (47)
  • A src/rt/arch/mips/regs.h (18)
  • M src/rt/rust_task.h (3)
  • M src/rustllvm/RustWrapper.cpp (12)
  • M src/rustllvm/rustllvm.def.in (7)

Patch Links:

@auroranockert
Copy link
Contributor

Awesome! What OS/processor are you testing with?

@crabtw
Copy link
Contributor Author

crabtw commented Jan 31, 2013

CPU is MIPS 34Kc and OS is Linux 2.6.36

@brson
Copy link
Contributor

brson commented Feb 14, 2013

Sorry this is taking so long to merge. The llvm rebuild of adding a new backend will cause some disruption for developers and the bots so I'm waiting for a good moment for that. Right now I'm thinking I'll merge this weekend.

@brson
Copy link
Contributor

brson commented Feb 22, 2013

I didn't do this last week because the tree was not green. I know, so many excuses. This weekend, perhaps? Time will tell.

@brson
Copy link
Contributor

brson commented Mar 2, 2013

I have a rebased branch here

@brson
Copy link
Contributor

brson commented Mar 4, 2013

Merged.

@brson brson closed this Mar 4, 2013
RalfJung added a commit to RalfJung/rust that referenced this pull request Nov 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants